1. Field of the Invention
The present invention relates to a tone signal circuit for use in a device requiring tone detection, such as a circuit for realizing a tone squelch function, and a tone signal detection algorithm. The present invention also relates to a wireless receiver using the tone signal circuit or the tone signal detection algorithm.
2. Description of the Related Art
In analog wireless communications, a signal modulated by a sine wave having a specific frequency, in a range of 0 to 300 Hz outside a telephone voice frequency band (the signal will hereinafter be referred to as “tone modulated signal”) is generally used for identification of a transmitter or a receiver, etc. For example, in the United States, a communication scheme using the tone modulated signal is specified in TIA/EIA-603 (the scheme will hereinafter be referred to as “CTCSS”). An analog wireless communication unit currently used commonly has a so-called tone squelch function of accurately detecting by which of 51 types of tone frequencies a received CTCSS tone modulated signal is modulated, within 250 msec from start of receiving the tone modulated signal, and, if the detected tone frequency corresponds to a radio channel which is permitted to be received, enabling an output of audio signals (opening squelch), or, if the detected tone frequency corresponds to a radio channel which is not permitted to be received, disabling the audio output (closing the squelch). The TIA/EIA-603 further specifies a tone termination stop signal for directing stop of audio output (closing of opened squelch). The wireless communication unit accordingly has a function of, upon receiving the tone termination signal, immediately closing the squelch, i.e., stopping the audio output.
Nowadays, in a wireless communication unit, generally, a demodulated signal in a receiver is often digitized after being filtered by an anti-aliasing low-pass filter, and the obtained digital demodulated signal is subjected to a digital signal processing. In this way, the above tone squelch function is realized in the digital domain. For the digital signal processing, a microcontroller (hereinafter referred to as “MPU”), a digital signal processor (hereinafter referred to as “DSP”), a dedicated digital logic circuit, etc., are used. In these circuits, as frequency resolution in an algorithm for tone frequency detection becomes worse, it often becomes necessary to use a wider bit width computation. Further, as the algorithm becomes complex, it becomes necessary either to use a high-performance processor capable of computing at a high speed or to permit a longer calculation time. These undesirably lead to increases in cost and required power consumption of a digital circuit block necessary for the tone frequency detection, which is disadvantageous, particularly, for mobile wireless units.
The present invention is intended for a processing for the tone squelch and a processing for detecting a tone frequency of a sinusoidal signal. In the present invention, for example, features of the A/D conversion and any analog processing preceding the A/D conversion, and how to use an output tone signal, are not particularly limited. As an example of simple means for detecting a specific frequency component in an input signal, i.e., detecting a tone signal, three conventional techniques will be described below. To realize the tone signal detection, it is necessary to determine whether a tone signal having a specific known target frequency fT exists in an input signal s(t).
A first conventional technique is a typical methodology. In the first conventional technique, the input signal s(t) is introduced into a band-pass filter (hereinafter referred to as “BPF”) having a pass-band center frequency set to fT, and power ratio of an filtered output signal to the input signal s(t) are examined. Then, in the first conventional technique, as a result of the examination, if the power of the output signal has a significant magnitude as compared to the power of the input signal s(t), it is determined that the tone signal exists. On the other hand, if the power of the output signal is sufficiently small as compared to the power of the input signal s(t), it is determined that the tone signal does not exist.
However, in a low-cost digital signal processing circuit, such a BPF is generally implemented as an infinite impulse response (hereinafter referred to as “IIR”) filter. In cases where the IIR BPF is realized by an 8-bit fixed-point operation with a view to reductions in power consumption and cost, the following problems will occur. Firstly, for filter operation, power calculation, etc., it is necessary to perform a multiplication operation at least two or three times with respect to each sampling. Thus, in an 8-bit MPU having no multiplier, a computational load becomes heavier. Further, in order to allow the BPF to have a sufficient Q value, it is generally necessary to represent numerical values using a bit length of longer than 8 bits. Secondly, in cases where an analytical transfer function of BPF is approximately represented by an 8-bit fixed-point IIR formula, a quantization error becomes larger, and a peak center of a filter characteristic of an approximate BPF often appears at a position deviating with respect to a correct value, i.e., the target frequency fT. In the tone squelch, it is necessary to detect tone frequencies, with an error, for example, of 2% or less. Therefore, in order to avoid an erroneous determination, it is necessary to adjust the peak center of the BPF to the target tone frequency, often accompanying deterioration of the Q value as a side effect. As above, in the first conventional technique using a BPF, it is highly likely that the computational load becomes heavier, and the peak center becomes inaccurate, which gives rise to a need for a higher-speed MPU having a longer bit length, and causes an increase in power consumption required for calculation.
In a second conventional technique, the input signal s(t) is mapped to the frequency domain by fast Fourier transformation (hereinafter referred to as “FFT”), and it is determined whether a signal component at the target frequency fT has a sufficient magnitude as compared to a power of the input signal s(t). In this way, a tone signal is detected. However, the FFT requires a plurality of times of multiplication operations and addition operations, and a buffer for handling a large number of discrete frequencies, which poses a problem of a large computational load.
Therefore, in 1958, Gerald Goertzel invented a modified methodology (so-called Goertzel algorithm) designed to subject only a signal component having a specific frequency to discrete Fourier transformation (hereinafter referred to as “DFT”) so as to reduce a computational load and cut down an amount of required calculation buffer. In the Goertzel algorithm, an IIR BPF represented by the following transfer function G(z) and having an infinite Q is employed (the IIR BPF will hereinafter be referred to as “Goertzel filter”).
                                          G            ⁡                          (              z              )                                =                                    1              -                                                ⅇ                  jθ                                ⁢                                  z                                      -                    1                                                                                      1              -                                                (                                      2                    ⁢                                                                                  ⁢                    cos                    ⁢                                                                                  ⁢                    θ                                    )                                ⁢                                  z                                      -                    1                                                              +                              z                                  -                  2                                                                    ⁢                                  ⁢        where        ⁢                                  ⁢                              θ            =                                          2                ⁢                π                ⁢                                                                  ⁢                k                            N                                ,                                          ⁢                      k            =                          ⌊                                                1                  2                                +                                                      Nf                    T                                                        f                    s                                                              ⌋                                                          (        1        )            
In the Formula 1, fT, fs and N are a target frequency (resonant frequency), a sampling frequency and the number of sampling points, respectively. Differently from the BPF described in the first conventional technique, the Goertzel filter is not a so-called stable filter.
An output of the Formula 1 is a complex signal. In the Goertzel algorithm, an input signal having a finite time length represented by continuous N sampled data is introduced into the Goertzel filter represented by the Formula 1, and a norm of an output complex signal obtained at the N-th last sampling point is calculated. In this way, a power of a Fourier component at the target frequency fT in the input signal is estimated. Thus, a simplified filter represented by the following Formula 2 is used for the remaining sampling points other than the last sampling point, so that it becomes possible to cut down the calculation amount. As with the FFT, the Goertzel algorithm is capable of reducing a spectral leakage by means of a window function, according to need. Further, in the Goertzel algorithm, the peak center of the Goertzel filter can be accurately adjusted to the target frequency fT to enhance detection accuracy, by setting N and fs to allow N·fT/fS to become an integer.
                              Q          ⁡                      (            z            )                          =                  1                      1            -                                          (                                  2                  ⁢                                                                          ⁢                  cos                  ⁢                                                                          ⁢                  θ                                )                            ⁢                              z                                  -                  1                                                      +                          z                              -                2                                                                        (        2        )            
Therefore, in the second conventional technique using the Goertzel algorithm, the second problem in the strategy using the BPF is solved, so that the tone detection can be performed with sufficient accuracy even by the 8-bit fixed-point operation. In addition, at each of the remaining sampling points other than the last sampling point, an output value is obtained by using the Formula 2-type filter and performing a multiplication operation by 2 cos θ, only once. Thus, the first problem in the first conventional technique is significantly relieved. The Goertzel algorithm is a methodology suited to detection for a small number of tone signals, as described above, and applied, for example, to detection of a DTMF signal (see, for example, Document 1: “Modified Goertzel Algorithm in DTMF Detection Using the TMS320C80” Application Report SPRA066, Chiouguey J. Chen, 1996 Texas Instruments; a Modified Goertzel Algorithm described in the Document 1 is totally different from an aftermentioned Modified Goertzel filter in this specification).
However, the second conventional technique using the Goertzel algorithm has the following problems. Firstly, the Goertzel algorithm is configured such that, as for an input signal having a certain finite time length and the number N of sampling points, a result is obtained at a timing of the last N-th sampling point, by calculating a power of complex frequency component values in a DFT bin corresponding to the target frequency fT (i.e., a power in a certain bandwidth Δf having a center at fT). Thus, the Goertzel algorithm configured to perform the power calculation only at the last sampling point is incapable of responding to an accidental change in the input signal during intermediate sampling points without a long delay, and continuously observing an input signal state. In the tone squelch, it is required to quickly detect start of a tone signal (transition from noise to a tone signal) and stop of the tone signal. However, if the coefficients of the Goertzel algorithm are adjusted to cope with an input signal of finite length, for example, of 250 msec, a detection result is obtained only at every interval of 250 msec, which fails to meet required specifications concerning high-speed response.
Secondly, an output value to be obtained by the Goertzel algorithm is proportional to an energy value to be obtained by integrating respective powers of frequency components at the target frequency fT in an input signal, during a sampling period N/fS. Thus, in cases where an input tone signal has a large power, or a sampling period N is set to a large value, the energy value becomes extremely large to cause overflow of the output value. This becomes a problem when the Goertzel algorithm is applied to the tone squelch which requires continuously observing a demodulated signal for a long period of time.
Thirdly, it is necessary to perform a multiplication operation for the Formula 2 once at each sampling point, and then perform a multiplication operation for the power calculation at the last sampling point three times. This computational load is still not low enough for the 8-bit MPU having no multiplier.
As a methodology for solving the first and second problems in the second conventional technique, there has been known a strategy disclosed in Document 2: U.S. Pat. No. 6,950,511, and Document 3: U.S. Patent Publication No. 2005/0105716 which would be an improvement of the Document 2. As described in the patents by S. Das and M. McShea, this strategy is designed to shift a start timing of a sampling window for use in extracting a target signal frame having a finite time length, from a continuous input signal, while allowing it to overlap with preceding and subsequent signal frames, so as to perform a pipeline processing, to substantially shorten a detection interval (see, for example, FIG. 6 in the Document 3). However, in the pipeline processing, a required computational load is increased multiply due to the overlapping. Further, if it is attempted to sufficiently shorten the detection interval, the number of required pipelines will be significantly increased. For example, in cases where a plurality of sampling windows each having a length of 260 msec are overlapped with each other so as to detect a tone signal at intervals of 20 msec, thirteen pipelines are required, so that the computational load becomes significantly heavier.
As another methodology for solving the second problem in the second conventional technique, there has been known a technique designed to stabilize the Goertzel filter, wherein each of the coefficients of the Formulas 1 and 2 is multiplied by a damping factor, in such a manner that poles of each of the G(z) and Q(z) are relocated inside a unit circle centered at the origin of the complex plane so as to prevent output divergence even for an infinitely-continuous tone signal input. However, in this technique, particularly, when the filter coefficients are represented by an 8-bit fixed-point numbers, it becomes difficult to accurately adjust a peak center of the modified Goertzel filter to the target frequency fT, and a Q value of the filter will be deteriorated. Thus, this technique is not suitable for application to the tone squelch which requires distinguishing between tone signals which are very close in frequency (frequency difference in narrowest spacing in CTCSS: about 2 Hz).
In order to avoid the first and second problems in the second conventional technique, a third conventional technique is designed to improve the Goertzel algorithm to allow an operation thereof to be performed on a continuous-time basis. It is referred to as “Sliding Goertzel DFT” (see, for example, Document 4: “The sliding DFT”, Eric Jacobsen and Richard Lyons, IEEE Signal Processing Magazine, March 2003, pp. 74-79). In this methodology, at each successive sampling point k, k+1, . . . , a computation of a DFT components at the target frequency fT of a finite-length input signal frame containing the last N sampled data, x[k−(N−1)], . . . , x[k], and the norm thereof, can be performed with a less computational effort. Specifically, in the Sliding Goertzel DFT, a Sliding Goertzel filter represented by the following transfer function H(z) is employed:
                              H          ⁡                      (            z            )                          =                                            (                              1                -                                                      ⅇ                                          j                      ⁢                                                                                          ⁢                      θ                                                        ⁢                                      z                                          -                      1                                                                                  )                        ⁢                          (                              1                -                                  z                                      -                    N                                                              )                                            1            -                                          (                                  2                  ⁢                                                                          ⁢                  cos                  ⁢                                                                          ⁢                  θ                                )                            ⁢                              z                                  -                  1                                                      +                          z                              -                2                                                                        (        3        )            
In the Formula 3, θ and K are defined in the same manner as that in the Formula 1, and fT, fS and N are a target frequency (resonant frequency), a sampling frequency and the number of sampling points, respectively.
In other words, the Formula 3 represents a filter in which an N-delay comb filter is added in a preceding stage of the Formula 1. In this case, when an input signal having continuous N or more sampling points is introduced into the Sliding Goertzel filter, an output y[k] at and after the N-th sampling point becomes equal to DFT components at the target frequency fT in a finite-length input signal x[k−(N−1)], . . . , x[k]. As can be understood from the Formula 3, the Sliding Goertzel DFT is an excellent methodology capable of continuously calculating DFT components concerning the target frequency fT, at a calculation cost less than that in case of executing the Goertzel algorithm at each sampling point.
However, the third conventional technique using the Sliding Goertzel DFT still has the following problems. As is clear from the Formula 3, a frequency characteristic of the Sliding Goertzel filter is represented by a sin c function defined such that the target frequency fT is set as a center frequency, as with the conventional DFT. This means that, if fT/fS, i.e., a ratio of the target frequency fT to the sampling frequency fS, is not sufficiently small, a Q value of the filter will be deteriorated. Thus, a first problem is that, in cases where the Sliding Goertzel DFT is applied to the tone squelch which requires performing the tone detection with high frequency resolution (e.g., 2 Hz, as mentioned above), by low power consumption, i.e., at low sampling frequencies, it becomes difficult to meet requirements for noise immunity and frequency resolution. In contrast, the Goertzel filter as the second conventional technique has a feature that a Q value thereof is significantly high, as mentioned above. A second problem is as follows. Differently from the Goertzel filter, it is necessary to perform calculation of the numerator in the Formula 3 at each sampling point, so that the computational load becomes heavier than the Goertzel filter, although there is an advantage of being able to continuously obtain an output.